#ifndef ARCHIVOS_H_
#define ARCHIVOS_H_
#include <fstream>
#include <cstdlib>
#include <string>
#include "../Entidades/IEntidad.h"
#include "Configuracion.h"
using namespace std;
using namespace Entidades;

namespace Archivos {

class Archivo {

protected:

	fstream archivo;
	string path;
	void abrirArchivo();
	void cerrarArchivo();

public:

	Archivo(string path);

	virtual void leer(IEntidad* entidad,unsigned int posicionEnElArchivo) = 0;
	virtual unsigned int insertar(IEntidad* entidad) = 0;
	virtual unsigned int modificar(IEntidad* entidad,unsigned int posicionEnElArchivo) = 0;
	virtual bool borrar(IEntidad* entidad,unsigned int posicionEnElArchivo) = 0;

	virtual ~Archivo();

};

}

#endif /* ARCHIVOS_H_ */

